/**
 * 
 */
package com.yidu.drug.service.impl;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import com.yidu.drug.common.Page;
import com.yidu.drug.dao.ZgsSellOrderModelMapper;
import com.yidu.drug.model.ZgsSellOrderModel;
import com.yidu.drug.service.ZgsSellOrderService;

/**
 * 总公司销售订单Service接口实现类
 * @author tanglei
 * @date 2018年8月9日 上午11:40:51
 * @version 1.0
 */
@Service
public class ZgsSellOrderServiceImpl implements ZgsSellOrderService{
	
	//注入总公司销售订单
	@Resource
	private ZgsSellOrderModelMapper zgsSellOrderDao;
	
	/**
	 * 根据销售订单ID删除数据
	 * @param soId 传入一个销售订单ID
	 * @return 返回一个影响的行数
	 */
	@Override
	public int deleteByPrimaryKey(String soId) {
		// TODO Auto-generated method stub
		return 0;
	}

	/**
	 * 增加销售订单数据(一次性增加所有字段)
	 * @param record 传入一个总公司销售订单对象
	 * @return 返回一个影响的行数
	 */
	@Override
	public int insert(ZgsSellOrderModel record) {
		// TODO Auto-generated method stub
		return 0;
	}

	/**
	 * 增加销售订单数据(可增加一个或多个字段)
	 * @param record 传入一个销售订单对象
	 * @return 返回一个影响的行数
	 */
	@Override
	public int insertSelective(ZgsSellOrderModel record) {
		//调用增加的方法并返回
		return zgsSellOrderDao.insertSelective(record);
	}

	/**
	 * 根据销售订单ID查询销售订单对象
	 * @param soId 传入一个销售订单对象
	 * @return 返回一个销售订单对象
	 */
	@Override
	public ZgsSellOrderModel selectByPrimaryKey(String soId) {
		// TODO Auto-generated method stub
		return null;
	}

	/**
	 * 根据销售订单ID修改销售订单数据(可修改一个或多个字段)
	 * @param record 传入一个销售订单对象
	 * @return 返回一个影响的行数
	 */
	@Override
	public int updateByPrimaryKeySelective(ZgsSellOrderModel record) {
		// TODO Auto-generated method stub
		return 0;
	}

	/**
	 * 根据销售订单ID修改销售订单数据(一次性修改所有字段)
	 * @param record 传入一个销售订单对象
	 * @return 返回一个影响的 行数
	 */
	@Override
	public int updateByPrimaryKey(ZgsSellOrderModel record) {
		// TODO Auto-generated method stub
		return 0;
	}

	/**
	 * 查询所有销售订单数据(包括根据条件查询和分页)
	 * @param zgsSellOrderModel 传入一个销售订单对象
	 * @return 返回一个集合
	 */
	@Override
	public Map<String,Object> findAll(ZgsSellOrderModel zgsSellOrderModel) {
		//创建一个分页对象
		Page page = new Page();
		//给分页对象的页数属性赋值，数值为销售订单对象里面的页数数值
		page.setPage(Integer.valueOf(zgsSellOrderModel.getPage()));
		//给分页对象的每页显示的行数属性赋值，数值为销售订单对象里面的每页显示行数的数值
		page.setRows(Integer.valueOf(zgsSellOrderModel.getLimit()));
		//给销售订单对象里的分页对象赋值
		zgsSellOrderModel.setPages(page);
		//调用查询所有的方法，并用集合接收
		List<ZgsSellOrderModel> list = zgsSellOrderDao.findAll(zgsSellOrderModel);
		
		//得到一个总行数
		Long count = zgsSellOrderDao.findRows(zgsSellOrderModel);
		//创建一个map集合
		Map<String,Object> map = new HashMap<String, Object>();
		//给map集合赋值
		map.put("code",0);
		map.put("msg","");
		map.put("count",count);
		map.put("data", list);
		//返回
		return map;
	}

	/**
	 * 查询销售订单总行数(包括根据条件 查询)
	 * @param zgsSellOrderModel 传入一个销售订单对象
	 * @return 返回一个总行数
	 */
	@Override
	public long findRows(ZgsSellOrderModel zgsSellOrderModel) {
		//调用查询总行数的方法并返回
		return zgsSellOrderDao.findRows(zgsSellOrderModel);
	}
	
}
